package com.gylang.print.pdf.test.pdf;

import cn.hutool.core.date.CalendarUtil;
import com.gylang.print.pdf.test.TestConstant;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;

import java.io.IOException;

/**
 * File - 此属性保存文件的名称 setAuthor(String author)
 * Title - 使用此属性，您可以设置文档的标题。 setTitle(String title)
 * Author - 使用此属性，您可以设置文档的作者姓名。  setCreator(String creator)
 * Subject - 使用此属性，您可以指定PDF文档的主题。  setSubject(String subject)
 * Keywords - 使用此属性，您可以列出我们可以搜索文档的关键字。  setKeywords(String keywords list)
 * Created - 使用此属性，您可以设置为文档创建的日期。   * Keywords - 使用此属性，您可以列出我们可以搜索文档的关键 字。 setCreationDate(Calendar date)
 * Modified - 使用此属性，您可以设置为文档修改的日期。 setModificationDate(Calendar date)
 * Application - 使用此属性，您可以设置文档的应用程序。
 *
 * @author gylang
 * data 2021/6/3
 */
public class PdfProperties {

	public static void main(String[] args) {

		try (PDDocument pdDocument = new PDDocument()) {

			PDDocumentInformation documentInformation = pdDocument.getDocumentInformation();
			documentInformation.setAuthor("author gylang");
			documentInformation.setCreationDate(CalendarUtil.calendar());
			documentInformation.setModificationDate(CalendarUtil.calendar());
			documentInformation.setCreator("creator gylang");
			documentInformation.setKeywords("keywords hahaha");
			documentInformation.setCustomMetadataValue("custom", "hahah ccc");
			documentInformation.setProducer("producer gylang");
			documentInformation.setSubject("subject 属性设置");
			documentInformation.setTitle("title 属性设置");
			// 什么是快乐星球?快速web查看是啥东西
			documentInformation.setTrapped("False");
			pdDocument.save(TestConstant.PDF_BASE + "properties.pdf");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
